package persistence;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

import javax.xml.rpc.ServiceException;

import model.Login;

import org.tempuri.PublicoLocator;
import org.tempuri.PublicoSoapStub;

public class AlunosDaoImpl implements AlunosDao {

	@Override
	public List<Login> listaAlunos() {
		List<Login> listaAlunosCadastrados = new ArrayList<Login>();
		PublicoLocator locator = new PublicoLocator();
		try {
			PublicoSoapStub client = (PublicoSoapStub) locator.getPublicoSoap();
			String[] turma = client.pessoasTurma("5215", "212",
					"46426", "1234");
			String tokenVelho = client.tokenPropriedade();
			String tokenNovo = "\n";

			for (int i = 0; i < turma.length; i++) {
				String linha = turma[i];
				linha = linha.replace(tokenVelho, tokenNovo);
				turma[i] = linha;
			}

			for (String s : turma) {
				Login alunoCadastrado = new Login();
				String[] pessoa = s.split(tokenNovo);
				for (String st : pessoa) {
					if (st.contains("Nome") && !st.contains("TurnoNome") && !st.contains("PrimeiroNome")) {
						alunoCadastrado
								.setNomeCompleto(st.replace("Nome=", ""));
					}
					if (st.contains("Registro")) {
						alunoCadastrado.setSenha(st.replace("Registro=", ""));
					}
				}
				listaAlunosCadastrados.add(alunoCadastrado);
			}
		} catch (ServiceException | RemoteException e) {
			e.printStackTrace();
		}
		return listaAlunosCadastrados;
	}

}
